package javabase.nio;

import java.nio.IntBuffer;

public class BufferTest {
	
	
	public static void main(String[] args) {
		//创建指定长度的缓冲区
		IntBuffer buffer = IntBuffer.allocate(10);
		int[] array = new int[]{1,2,3};
		
		//使用数组创建缓冲区
		buffer = buffer.wrap(array);
		
		//利用数组的某一区间来创建视图
//		buffer = buffer.wrap(array, 2, 1);


		//修改某个位置上的元素
		buffer.put(2, 999);

		// 遍历缓冲区
		System.out.println("缓冲区元素如下：");
		for(int i=0; i<buffer.limit(); i++) {
			System.out.println(buffer.get());
		}
		// 遍历缓冲区, 缓冲区的修改也会影响到原始数组	
		System.out.println("原始数组元素如下：");
		for(int i=0; i<array.length; i++) {
			System.out.println(array[i]);
		}
		
		//反转缓冲区(limit=position,position = 0)
		buffer.flip();
		
		
		IntBuffer buffer2 = buffer.duplicate();
		System.out.println(buffer2);
		
		// 0<= mark <=position<=limit<=capacity 
	}
	
}
